package com.im.service.user.smo;

import java.util.List;
import java.util.Map;

import com.im.service.dto.*;

public interface IUserQuerySMO {
	/**
	 * 查询员工的基本信息
	 * @param param(可根据入参确定查询的数据维度)
	 * @return
	 */
	public Map<String, Object> queryStaffBaseInfo(Map<String, Object> param);

	/**
	 * 查询员工菜单
	 * @param param
	 * @return
	 */
	public List<FuncMenu> queryStaffFuncMenus(Map<String, Object> param);

	/**
	 * 查询员工列表
	 * @param param
	 * @return
	 */
	public PageQuery<Staff> queryStaffsByCond(Map<String, Object> param);

	/**
	 * 查询配置数据--员工角色列表
	 * @param param
	 * @return
	 */
	public  PageQuery<Role> queryConfigRolesByCond(Map<String,Object> param);

	/**
	 * 查询配置数据--员工数据维度类型
	 * @param param
	 * @return
	 */
	public List<StaffLimitType> queryConfigStaffLimitType(Map<String,Object> param);

	/**
	 * 查询员工数据维度类型下的实例数据
	 * @param param
	 * @return
	 */
	public Map<String,Object> queryLimitInstByConn(Map<String,Object> param);

	/**
	 * 根据组织列表配置数据
	 * @param param
	 * @return
	 */
	public List<Object> queryOrgarizationsByCond(Map<String, Object> param);
	/**
	 * 根据组织列表配置数据
	 * @param param
	 * @return
	 */
	public PageQuery<Orgarization>  queryOrgarizationsByCondPage(Map<String, Object> param);

	/**
	 * 查询菜单
	 */
	public List queryFuncMenusByCond(Map<String,Object> param);


	public Map<String,Object> queryStaffRange(String str);
}
